#include "Base.h"
#include "LobbyPlayer.h"
#include "DBProtocol.h"
#include "DBServer.h"
#include "UserManager.h"

CLobbyPlayer::CLobbyPlayer(void)
{
}

CLobbyPlayer::~CLobbyPlayer(void)
{
}

Msg* CLobbyPlayer::CreateMsg(DWORD dwMsgId, int nLen)
{
	switch(dwMsgId)
	{
	case Msg_LD_Create_User:
		return new LDCreateUserMsg;
	case Msg_LD_Update_User:
		return new LDUpdateUserMsg;
	case Msg_LD_Update_Password:
		return new LDUpdatePasswordMsg;
	case Msg_LD_Load_User:
		return new LDLoadUserMsg;
	}
	return NULL;
}

BOOL CLobbyPlayer::OnMsg(Msg *pMsg)
{
	DWORD dwMsgId = pMsg->GetMsgId();
	switch(dwMsgId)
	{
	case Msg_LD_Create_User:
		{
            OnCreateUser(pMsg);
		}
		break;
	case Msg_LD_Update_User:
		{
			OnUpdateUser(pMsg);
		}
		break;
	case Msg_LD_Update_Password:
		{
			OnUpdatePassword(pMsg);
		}
		break;
	case Msg_LD_Load_User:
		{
			OnLoadUser(pMsg);
		}
		break;
	default:
		break;
	}
	return TRUE;
}

BOOL CLobbyPlayer::OnCreateUser(Msg *pMsg)
{
	LDCreateUserMsg *pReq = (LDCreateUserMsg *)pMsg;
	return g_pUserManager->CreateUser(this, pReq);
}

BOOL CLobbyPlayer::OnUpdateUser(Msg *pMsg)
{
	LDUpdateUserMsg *pReq = (LDUpdateUserMsg *)pMsg;
	return g_pUserManager->UpdateUser(this, pReq);
}

BOOL CLobbyPlayer::OnUpdatePassword(Msg *pMsg)
{
	LDUpdatePasswordMsg *pReq = (LDUpdatePasswordMsg *)pMsg;
	return g_pUserManager->UpdatePassword(this, pReq);
}

BOOL CLobbyPlayer::OnLoadUser(Msg *pMsg)
{
	LDLoadUserMsg *pReq = (LDLoadUserMsg *)pMsg;
	return g_pUserManager->LoadUser(this, pReq);
}